package com.ruoyi.system.domain.xs;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单退款信息对象 xs_order_refund
 * 
 * @author ruoyi
 * @date 2025-03-06
 */
@Data
public class XsOrderRefund implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 订单编号 */
    @Excel(name = "订单编号")
    private String acookieId;

    /** 退款编号 */
    @Excel(name = "退款编号")
    private String refundId;

    /** 支付单号 */
    @Excel(name = "支付单号")
    private String paymentId;

    /** 订单付款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "订单付款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderPaymentTime;

    /** 商品编码 */
    @Excel(name = "商品编码")
    private String productCode;

    /** 退款完结时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退款完结时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date refundFinishTime;

    /** 买家实际支付金额 */
    @Excel(name = "买家实际支付金额")
    private BigDecimal buyerPaidAmount;

    /** 宝贝标题 */
    @Excel(name = "宝贝标题")
    private String productTitle;

    /** 买家退款金额 */
    @Excel(name = "买家退款金额")
    private BigDecimal buyerRefundAmount;

    /** 手工退款/系统退款 */
    @Excel(name = "手工退款/系统退款")
    private String refundType;

    /** 是否需要退货 */
    @Excel(name = "是否需要退货")
    private Integer needReturnGoods;

    /** 退款的申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退款的申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date refundApplyTime;

    /** 超时时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "超时时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date timeout;

    /** 退款状态 */
    @Excel(name = "退款状态")
    private String refundStatus;

    /** 货物状态 */
    @Excel(name = "货物状态")
    private String goodsStatus;

    /** 退货物流信息 */
    @Excel(name = "退货物流信息")
    private String returnLogisticsInfo;

    /** 发货物流信息 */
    @Excel(name = "发货物流信息")
    private String shippingLogisticsInfo;

    /** 客服介入状态 */
    @Excel(name = "客服介入状态")
    private String customerServiceInterventionStatus;

    /** 卖家真实姓名 */
    @Excel(name = "卖家真实姓名")
    private String sellerRealName;

    /** 卖家真实姓名(新) */
    @Excel(name = "卖家真实姓名(新)")
    private String sellerRealNameNew;

    /** 卖家退货地址 */
    @Excel(name = "卖家退货地址")
    private String sellerReturnAddress;

    /** 卖家邮编 */
    @Excel(name = "卖家邮编")
    private String sellerPostcode;

    /** 卖家电话 */
    @Excel(name = "卖家电话")
    private String sellerPhone;

    /** 卖家手机 */
    @Excel(name = "卖家手机")
    private String sellerMobile;

    /** 退货物流单号 */
    @Excel(name = "退货物流单号")
    private String returnLogisticsNumber;

    /** 退货物流公司 */
    @Excel(name = "退货物流公司")
    private String returnLogisticsCompany;

    /** 买家退款原因 */
    @Excel(name = "买家退款原因")
    private String buyerRefundReason;

    /** 买家退款说明 */
    @Excel(name = "买家退款说明")
    private String buyerRefundDescription;

    /** 买家退货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "买家退货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date buyerReturnTime;

    /** 责任方 */
    @Excel(name = "责任方")
    private String liableParty;

    /** 售中或售后 */
    @Excel(name = "售中或售后")
    private String inSaleOrAfterSale;

    /** 备注标签 */
    @Excel(name = "备注标签")
    private String remarkTag;

    /** 商家备注 */
    @Excel(name = "商家备注")
    private String merchantRemark;

    /** 完结时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完结时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date finishTime;

    /** 部分退款/全部退款 */
    @Excel(name = "部分退款/全部退款")
    private String partialOrFullRefund;

    /** 审核操作人 */
    @Excel(name = "审核操作人")
    private String auditOperator;

    /** 审核操作人新会员名 */
    @Excel(name = "审核操作人新会员名")
    private String auditOperatorNewMemberName;

    /** 举证超时 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "举证超时", width = 30, dateFormat = "yyyy-MM-dd")
    private Date evidenceTimeout;

    /** 是否零秒响应 */
    @Excel(name = "是否零秒响应")
    private Integer isZeroSecondResponse;

    /** 退款操作人 */
    @Excel(name = "退款操作人")
    private String refundOperator;

    /** 退款操作人新会员名 */
    @Excel(name = "退款操作人新会员名")
    private String refundOperatorNewMemberName;

    /** 退款原因标签 */
    @Excel(name = "退款原因标签")
    private String refundReasonTag;

    /** 业务类型 */
    @Excel(name = "业务类型")
    private String businessType;

    /** 是否帮他退款 */
    @Excel(name = "是否帮他退款")
    private Integer isHelpRefund;

    /** 帮他退款操作账号 */
    @Excel(name = "帮他退款操作账号")
    private String helpRefundAccount;

    /** 小额收款 */
    @Excel(name = "小额收款")
    private String smallAmountCollection;

    /** 淘特订单 */
    @Excel(name = "淘特订单")
    private String taoteOrder;

    /** 百亿补贴超链退款信息 */
    @Excel(name = "百亿补贴超链退款信息")
    private String billionSubsidyRefundInfo;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 创建者
     */
    private String createBy;
}
